/*
第二次实验
2-1
hawksoft Nov. 3th, 2021
*/
#include <iostream>
using namespace std;
int pow(int x,int y)
{
    int result = 1;
    for(int i = 0; i < y; i++)
        result = result * x;
    return result;
}
/*
判断n位数num是否是水仙花，是，则返回1，否则返回0
*/
bool ifSXH(int num,int n)
{
     int temp = num;
     int sum = 0;
     while(temp>0)
     {
        sum = sum + pow((temp%10),n);
        temp = temp / 10;   
     }
     if(sum == num)
         return true;
     else
         return false;
}
int main()
{
    int n;
    cin >> n;
    for(int i = pow(10,n-1); i < pow(10,n); i++)
    {
        if(ifSXH(i,n) == true)
            cout << i << endl;
    }
}